查看原文
其他

论文推荐| Slimmable Neural Networks

林洛君 CSIG文档图像分析与识别专委会 2022-07-11


本文简要介绍ICLR 2019论文“Slimmable Neural Networks”的主要工作。该论文主要提出了一种有限计算资源下动态调整模型复杂度的方法

一、研究背景
近年来,深度神经网络在移动手机、增强现实设备和自动驾驶汽车中的应用逐渐盛行。这些移动端的应用对算法运行效率有较高的要求。现有的许多轻量级网络如MobileNet, ShuffleNet等,是通过Width Multiplier来控制模型的计算复杂度和内存占用。由于设备性能的差异,这些轻量化网络在不同的设备上具有不同的响应时间。为了在不同的设备上达到精度和速度的权衡,人们通常是训练得到多种宽度的模型,并针对不同的设备进行单独部署。然而,作者认为这种方法缺乏灵活性,不能在运行时对模型进行动态调整。因此,作者提出了一种“可瘦身”的网络训练方式,能够在运行时根据精度和速度动态地调整网络宽度,从而在不同的设备上均可达到性能与效率的平衡。

二、Slimmable Neural Networks

1)网络结构

Fig.1. Illustration of slimmable neural networks. The same model can run at different widths(number of active channels), permitting instant and adaptive accuracy-efficiency trade-offs.

Slimmable Neural Networks可以被认为是不同网络宽度的子网络的集合,这些子网络拥有同一个主干网络并且共享一部分参数。主干网络可以采用现有的各种网络结构如MobileNet, ShuffleNet, ResNet等等。
如Figure 1所示,它包含了1.0x, 0.75x, 0.5x, 0.25x这4种网络宽度的子网络,这些子网络共享一组参数,比如,1.0x网络的前面25%的通道与0.25x网络共享所有参数。这些子网络通过联合训练,获得了比单独训练更高的性能。在测试阶段,可根据设备需求在这4中网络宽度里进行切换,调整到合适的网络宽度。 
(2)可切换的批归一化(Switchable Batch Normalization)

作者对上述的Slimmable Neural Networks进行联合训练,发现即使训练过程很稳定,测试结果却很糟糕,在ImageNet上的top-1准确率只有0.1%,如Figure 2中naïve training曲线所示。作者推断这是由于BN层在训练和测试时的统计量差异导致的。BN层在训练阶段使用当前batch的均值和方差进行归一化,并对每一次迭代的均值和方差以滑动平均的方式进行叠加最终得到对整个训练集的均值和方差的估计;在测试阶段,BN层使用整个训练集的估计的均值和方差进行归一化。

在Slimmable Neural Network中,每一个子网络对应不同的输入通道个数,导致相对应的特征具有不同的均值和方差,而这些不同分布的均值和方差仍以滑动平均的方式加入到对整体的均值和方差的估计当中。因此,测试阶段BN层的统计量是所有子网络的均值和方差估计的加权之和,而在训练阶段,BN层的统计量是通过每个子网络的单独计算。BN层统计量在训练和测试阶段的不一致导致了网络性能在这两个阶段的分裂表现。

因此,作者提出了Switchable Batch Normalization (SBN),也即对不同的子网络使用独立的BN层。对每个子网络的总体均值和方差分别进行估计,从而使得训练和测试阶段BN统计量一致。需要注意的是,BN层的参数也是根据不同子网络独立训练的。采用SBN训练的网络性能Figure 2所示,每个子网络的测试误差均有了稳定的下降。

 Fig.2. Training and validation curves of slimmable networks. Left shows the training error of the largest switch. Right shows testing errors on validation set with different switchs. For naive approach, the training is stable(left) but testing error is high (right, zoomed). Slimmable networks trained with S-BN have stable and rank-preserved testing accuracy across all training iterations.
(3)训练算法

本文的主要目的之一在于优化所有宽度的网络的平均性能。因此作者提出了以下训练策略:每一次迭代,累加所有子网络的反向传播梯度后,再更新网络权重。


三、主要实验结果及可视化效果
1ImageNet分类

本文设置了每个子网络单独训练作为baseline (MobileNet v1 1.0x, MobileNet v1 0.75x等),与之对照的是相同主干网络的Slimmable Neural Networks (S-MobileNet v1, S-MobileNet v2等)。对比结果如Table 1所示,我们将有提升效果的均以黄色方块标示。从表格中可知,一部分的Slimmable Neural Networks在ImageNet数据集上的准确率具有提升,一部分以MobileNet v2作为backbone的模型准确率有所下降。

TABLE 1. Results of ImageNet classification. We show top-1 error rates of individually trained networks and slimmable networks given same width configurations and FLOPs. We use S- to indicate slimmable methods(),to denote our reproduced result.

(2)物体检测、实例分割、关键点检测

Slimmable Neural Network在COCO 2017上的检测、分割、关键点检测结果如Table 2所示。相比较于单独训练的baseline,Slimmable Neural Networks中的各个子网络的性能均有所提升,而且越小的模型提升的越明显。这是因为Slimmable Neural Networks中各个模型是联合训练的,其中大模型为小模型的提供了更好的初始化特征和更丰富的监督信号。

TABLE 2. Average precision (AP) on COCO 2017 validation set with individually trained networks and slimmable networks. ResNet-50 models are used as backbones for Faster-RCNN, Mask-RCNN and Keypoints-RCNN based on detection frameworks (Girshick et al., 2018; Chen et al., 2018). Faster 1.0x indicates Faster-RCNN for object detection with ResNet-50 1.0x as backbone.

3)可视化结果

本文进一步对网络作可视化分析。针对不同子网络中的某个特定通道,分别找到令该通道的响应值最高的前10张图片。如Figure 3所示,每一行代表一个子网络的通道3_9的强响应图片,其中红色框表示该图被该模型错误识别,绿色框则表示可被正确识别的图片。可以看到,随着网络宽度的增加,通道3_9所负责识别的图片逐渐从白色(RGB值[255,255,0])转为黄色(RGB值[255,255,255])。这说明,即使共享一组参数,同样的神经元在不同的子网络里扮演着不同的角色。

 Fig.3. Top-activated images for same channel 3_9 in different switches in S-MobileNet v1. Different rows represent results from different switches. Images with red outlines are mis-classified. Note that the white color in RGB is [255, 255, 255], yellow in RGB is [255, 255, 0]. 

四、总结
  • 本文提出了一种有效的根据计算资源动态调整模型复杂度的方法,也即Slimmable Neural Networks。这是一种不同网络宽度的子网络的集合,这些子网络共享一组参数,并通过联合训练获得了比单独训练更高的性能。
  • 本文提出了Switchable Batch Normalization,即不同的子网络使用单独的BN层,保证了训练和测试时统计量的统一分布,使测试性能稳定提升。
参考文献

[1] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and JianSun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp.770–778, 2016.

[2] Andrew G Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, WeijunWang, TobiasWeyand, Marco Andreetto, and Hartwig Adam. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861, 2017.

[3] Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, and Liang-Chieh Chen. Inverted residuals and linear bottlenecks:Mobile networks for classification, detection and segmentation. arXiv preprint arXiv:1801.04381, 2018.

[4] Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, and JianSun. Shufflenet: An extremely efficient

convolutional neural network for mobile devices. arXiv preprint arXiv:1707.01083, 2017.


原文作者:JiahuiYu, Linjie Yang, Ning Xu, Jianchao Yang, Thomas Huang

撰稿:林洛君

编排:高  学

审校:殷  飞

发布:金连文 


免责声明:1)本文仅代表撰稿者观点,个人理解及总结不一定准确及全面,论文完整思想及论点应以原论文为准。(2)本文观点不代表本公众号立场。 


往期精彩回顾


征稿启事:本公众号将不定期介绍一些文档图像分析与识别领域为主的论文、数据集、代码等成果,欢迎自荐或推荐相关领域最新论文/代码/数据集等成果给本公众号审阅编排后发布。请发Word版的图文介绍材料到:xuegao@scut.edu.cn



(扫描识别如上二维码加关注)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存